<?php
/**
 * Project: Recipe
 * File: MenuAction.class.php
 * Author: Xnfy520@gmail.com
 * Date: 12-5-7
 * Time: 上午10:43
 */

	class MenuAction extends CommonAction{

		function index(){

			import("ORG.Util.Page");
			$menu = D('Menu');

			if(isset($_POST['search'])){
				if(!empty($_POST['key'])){
					switch($_POST['search']){
						case 1 :
							$datas['id'] = $_POST['key'];
							break;
						case 2:
							$datas['name'] = array("like","%{$_POST['key']}%");
							break;
						case 3 :
							$datas['alias'] = array('like',"%{$_POST['key']}%");
							break;
					}
					$total = $menu->where($datas)->count();
					$Page = new Page($total, C('PAGENUM'));
					$show = $Page->show();
					$list = $menu->relation(true)->where($datas)->limit($Page->firstRow.','.$Page->listRows)->order('id')->select();
				}else{
					$this->error('搜索内容不能为空', __APP__.'/Menu/index');
				}
			}else{
				$total = $menu->count();
				$Page = new Page($total, C('PAGENUM'));// 实例化分页类 传入总记录数和每页显示的记录数
				$show = $Page->show();// 分页显示输出
				$list = $menu->relation(true)->limit($Page->firstRow.','.$Page->listRows)->order('id')->select();
			}

			$this->assign('list',$list);// 赋值数据集

			$this->assign('show',$show);// 赋值分页输出

			$this->display('index');
		}

		/**
		 * 指向添加菜单分类界面
		 */
		function add(){
			$this->display();
		}

		/**
		 * 添加菜单分类
		 */
		function insert(){
			$menu = D('Menu');
//			$tmpdir = './Public/Content/tmp/';
//			$srcdir = './Public/Content/Menu/';
			if($data = $menu->create()){
				if($menu->add()){
//					if(!empty($data['image'])){
//						copy($tmpdir.$data['image'], $srcdir.$data['image']);
//						if($dirsrc = opendir($tmpdir)){
//							while($files = readdir($dirsrc)){
//								if($files!='.' && $files!='..'){
//									$pathfile = $tmpdir.$files;
//									if(is_file($pathfile)){
//										unlink($pathfile);
//									}
//								}
//							}
//						}
//					}
					$this->success('添加菜单分类成功', __APP__.'/Menu/index');
				}else{
					$this->error('添加菜单分类失败');
				}
			}else{
				$this->error($menu->getError(), __APP__.'/Menu/add');
			}
		}

		/**
		 *菜单分类封面上传
		 */
		function uploads(){
			import("ORG.Net.emit_upload");
			import("ORG.Util.emit_image");
			$upload = new upload(array("filepath"=>"./Public/Content/tmp","allowtype"=>array('gif','png','jpg'),"israndname"=>true,"maxsize"=>2000000));
			if($upload->uploadfiles('pic')){
				$img = new image("./Public/Content/tmp");
				$imgname =  $upload->getnewname();
				$img->thumb($imgname, 132, 75);
				echo $upload->getnewname();
			}else{
				echo $upload->geterrormsg();
			}
		}

		/**
		 * 指向修改菜单分类界面
		 */
		function edit(){
			if(isset($_GET['id']) && !empty($_GET['id'])){
				$menu = M('Menu');
				$data = $menu->find($_GET['id']);
				$this->assign('data', $data);
				$this->display();
			}else{
				$this->error('异常操作');
			}
		}

		/**
		 * 修改菜单分类
		 */

		function update(){
			if(isset($_POST['id']) && !empty($_POST['id'])){
//				$tmpdir = './Public/Content/tmp/';
//				$srcdir = './Public/Content/Menu/';
				$menu = M('Menu');
//				$menuinfo = $menu->find($_POST['id']);
				if($data = $menu->create()){
					if($menu->save()){
//						if($data['image']!=$menuinfo['image']){
//							unlink($srcdir.$menuinfo['image']);
//							copy($tmpdir.$data['image'], $srcdir.$data['image']);
//							if($dirsrc = opendir($tmpdir)){
//								while($files = readdir($dirsrc)){
//									if($files!='.' && $files!='..'){
//										$pathfile = $tmpdir.$files;
//										if(is_file($pathfile)){
//											unlink($pathfile);
//										}
//									}
//								}
//							}
//						}
						$this->success('修改菜单分类成功',  __APP__.'/Menu/index');
					}else{
						$this->error('修改菜单分类失败');
					}
				}else{
					$this->error($menu->getError());
				}
			}else{
				$this->error('异常操作');
			}
		}

		/**
		 * 删除菜单分类
		 */
		function del(){
			if(!empty($_POST['actions'])){
				$srcdir = './Public/Content/Menu/';
				$menu = D('Menu');
				foreach($_POST['actions'] as $key=>$value){
					$data = $menu->relation(true)->find($value);
					if(empty($data['recipearticle'])){
						$num = $menu->delete($value);
						if(!empty($data['image'])){
							unlink($srcdir.$data['image']);
						}
					}else{
						$this->error('该菜单分类下还有菜单分类项');
					}
				}
				if($num>0){
					$this->success('删除菜单分类成功', __APP__.'/Menu/index');
				}else{
					$this->error('删除菜单分类失败');
				}
			}else{
				$this->error('请先选择菜单分类');
			}
		}


	}